Color is playing an increasingly important role in computer graphics. Broader affordability and availability of computer controlled systems with color processing capabilities will promote wider acceptance and use of color in document-intensive industries or document-intensive functional areas of enterprises. As a result, there is a steadily increasing use of computer based color presentation programs by computer users with little or no training in color science and in the aesthetic and technical uses of color. By computer based color presentation programs is meant a wide range of computer based graphics illustrators, page layout programs, graphics editors, business graphics programs and modern spreadsheet programs, publishing systems, image retouching systems, and other similar color presentation programs for using color on computers.
These users are often dissatisfied with the aesthetics of the final product produced by the color tools that are available for existing color presentation systems. There are several reasons for this disappointment. Known color selection systems typically allow users to select only one color at a time, and users seldom are able to focus on the relationship among the colors. These color selection systems ignore well-known principles of color perception theory that human perception of color is influenced by the effect of adjacent colors, the surround against which a color is viewed, and the illumination under which a color is viewed.
In addition, existing color selection systems often utilize a device dependent color classification model, providing color descriptor classifications, or dimensions, that correspond to the underlying color models that control associated physical devices. Such device dependent color classification models include the additive red, green, and blue (RGB) phosphor color model used to physically generate colors on a color monitor, and the subtractive cyan, magenta, and yellow, plus black (CYMK) color model used to put colored dyes, inks, or toners on paper. In addition, models based on mathematically transforming RGB signals to hue, saturation, and value (HSV) signals have also been used. Color selection systems based on these device dependent color models operate in color spaces that treat color differences and changes in incremental steps along dimensions which are useful to control the physical devices. For example, lookup tables give the users of these existing systems convenient access to the RBG signal values that produce the selected colors on their monitors, thereby facilitating entering the signal specifications for the selected colors into the data files for their composition.
Device dependent color space models, such as the RGB model or HSV color model, are not necessarily related to how humans visually perceive color, and in such systems it may be difficult for a user to approximate how much change in one dimension is needed to produce a desired change in the color, requiring considerable trial and error to achieve a desired color selection.
A prior art color selection system utilizing HSV color space is disclosed in Holler, U.S. Pat. No. 4,721,951, entitled, "Method and Apparatus for Color Selection and Production". An apparatus and method are disclosed wherein a color is selected on the basis of one color characteristic system for implementation in another color characteristic system. Color selection is made from the color characteristic system of hue, saturation, and value (referenced as brightness) (HSV) in the preferred embodiment, and is performed interactively with the operator individually selecting hue, saturation and brightness levels from displays which illustrate the effects of changing each of these characteristics. The displays are comprised of a display bar for each of the hue, saturation and brightness color characteristics, with the selected value or level for each characteristic being shown by a vertical black line, or slide marker, which the operator may move to a selected position. Selected hue, saturation, and brightness color characteristics and the current color selected are illustrated on the display, and are immediately updated whenever changes of the H, S, or V occur, in a manner that facilitates a rapid and interactive selection process. The selected values of H, S, and V are converted through the use of appropriate transforms to values of R, G, and B in the red, green, and blue color classification system for display in the current color display.
In another prior art color selection system, Guitard and Ware disclose, in "A Color Sequence Editor", ACM Transactions on Graphics, 9:3 (July 1990), at pp. 338-341, a color sequence editing tool to enable the rapid editing of the contents of a color lookup table (LUT). An editing window consists of three plotting areas containing Hue, Saturation, and Value plots and a color sequence feedback area. The horizontal coordinate in a plotting area corresponds to an entry in the LUT; the vertical coordinates give values of Hue, Saturation, and Value, respectively. Each plotting area is actually 256 pixels wide and can be considered as 256 slider bars controlling 256 LUT entries. To edit the color sequence, the user moves the cursor to the desired plotting area and draws or "plots" a curve. This replaces the plot previously drawn and causes a real-time change in the corresponding LUT entries.
Meier, B., in "ACE: A Color Expert System for User Interface Design", Proceedings of the ACM SIGGRAPH Symposium on User Interface Software (October 1988) discloses a production expert system designed to select colors for user interface design. Guidelines, heuristics, and rules of thumb from literature relating to the effective use of color in computer displays were synthesized into a set of strategic and tactical prescriptive rules for color selection, including tactical information for color selection and information related to the relational constraints imposed between a color selection and its function in the user interface. The set of colors selected consisted of ten perceptually different hues, fifteen "brightnesses" between black and white for each hue, and three saturations for each hue/brightness combination, yielding a total of 450 different colors available for selection, 150 of which were shades of gray.
Further complicating the color selection process is the effect of color usage on color selection. Colored images can be partitioned into two classes: (1) those that contain so-called "reference colors", and (2) those that utilize "functional colors". Reference colors are colors of naturally occurring objects in the human perceptual world, such as colors of skin, grass, and the sky. On the other hand, functional colors serve a purely symbolic function, such as coloring different areas of maps and graphs to convey information, and these colors are not intended to symbolize objects found in nature. Thus, functional color palettes preferably are composed of coordinated harmonious colors to provide color combinations that aesthetically appeal to the ordinary observer. Typically, selecting functional colors for an application requires an understanding of, or at least an appreciation of, how colors combine to form an aesthetically pleasing image.
Selecting or modifying reference colors requires a distinctly different approach. A user may either be creating a true-to-life image, or modifying the colors in a true-to-life image created elsewhere and digitally reproduced on his computer system. The goal of such color selection and modifying is to closely match each reference color to the color it represents in nature, thereby facilitating the identification of objects in the computer generated or reproduced image. In particular, when a user wishes to color a reference object, for example, a Chinese porcelain vase, a precise specification of a reference color is difficult to generate from memory. An artist, for example, mixes colors together until he or she achieves the desired matching color. Matching a color by mixing paints requires skill. Matching a reference color by selecting computer generated colors in RGB or HSV color spaces as described above is very difficult because device dependent color spaces do not permit the user to readily transfer his or her artist's skills to the computer, or to use the color space dimensions to develop intuitive judgments about mixing colors. In addition, for those cases where the highest fidelity of reproduced color to actually perceived color in nature is required, such as, for example, in the case of the Chinese porcelain vase in a photographic image, typical color selection systems provide no way to assure that a mixed or selected color is colorimetrically accurate.
A perceptually uniform color space which more closely approximates how humans perceive colors and color differences facilitates color specification tasks. In particular, standardized color notation systems for use in perceptually uniform color spaces have been developed by an international color standards group, Commission Internationale de l'Eclairage (the "CIE"). CIE color specification employs "tristimulus values" to specify colors and to establish device independent color spaces. In 1976, the CIE recommended the use of two approximately uniform color spaces, the CIE 1976 (L*u*v*) or the CIELUV color space, and the CIE 1976 (L*a*b*) or the CIELAB color space.
Generally, preference for using one or the other CIE uniform color space is based mainly on convenience of use in particular industrial applications. CIELUV space is often used to capture the color appearance of additive color mixtures, such as those on color display monitors, and as such is used as a standard color space by the television and video industries. CIELAB space is often used to capture the color appearance of subtractive color mixtures, and as such is a standard color descriptor for the paint and dye industries, and is the primary uniform color space used for printed color evaluation. CIE color spaces are widely accepted because measured colors can readily be expressed in these CIE recommended coordinate systems by means of simple mathematical transformations of the spectral power distributions.
The prior art also discloses a system for using a perceptually uniform color space model for color selection. Taylor et al., in EP 0 313 796 A3, entitled, "Computer display color control and selection system", disclose an interface system for use in selecting and controlling colors in graphics images generated by a computer system. The interface comprises a mechanism and method for displaying a graphical representation of hue, chroma, and lightness combinations available based on a color appearance type color space and associated mechanism. The interface includes a method for selecting any of the combinations of hue, chroma, and lightness which are graphically displayed as available for use. The graphical representation includes a graph of the range of hues in one dimension and a second graph of the range of chroma and value combinations in two dimensions. The preferred embodiment of the interface makes use of a specially defined HVC color space for graphically displaying, representing, and selecting hue, chroma, and value combinations for a color with a high degree of perceptual uniformity. The preferred embodiment of the system includes a mechanism for operating the interface in three different modes, providing functions corresponding to picture editing, color map editing, and continuous shading. The continuous shading mode allows a range of colors to be generated between two colors specified by the user for smooth shading applications.
De Corte, W., in "Finding Appropriate Colors for Color Displays" in Color Research and Application, Vol. 11, No. 1, Spring 1986, pp. 56-61, discloses a methodology and supporting algorithm to determine high-contrast sets of colors for use on a color CRT under varying conditions of illumination. The method generates colors which are highly contrasting and ergonomically optimal, given the number of colors, N, one wants to display. The color selection algorithm attempts to maximize the minimal between-color distance for a set of N points in the perceptually uniform CIELUV color space in such a way that the resulting colors remain within the gamut of colors which can be displayed by the terminal while meeting constraints derived from research in human vision and human factors.
Beretta, G. B., the named inventor herein, in Selecting Colors for Representing VLSI Layout, Xerox Palo Alto Research Center, Technical Report EDL-88-7, 1988, pp. 2-6, discloses a method for selecting discriminable colors for use in designing a VLSI layout using a computer-assisted design (CAD) graphics system. The method divides the layers of the VLSI circuit into functional classes and applies color theory rules to the selection of colors for each layer. Then, colors to be selected are manipulated in CIELAB space in order to more easily determine and uniformly distribute discriminable colors.
Other prior art color selection systems perform automatic color selection. Braudaway, G., in U.S. Pat. No. 4,907,075, entitled, "Method for Selecting Colors" discloses a method for selecting a limited number of presentation colors from a larger palette to provide digitization of a color image. A three-dimensional color histogram of the image is generated, having axes corresponding to red, green, and blue, and a first color is selected based upon the color occurring most frequently in the image. Subsequent colors are selected by choosing one at a time those colors having the highest weighted frequency of occurrence. Final color selection may be made according to a disclosed cluster analysis method for minimizing image entropy.
Lai et al., U.S. Pat. No. 4,794,382, entitled "Image Retouching", disclose an image retouching method and apparatus in which an operator using a color monitor may selectively alter colors of an original, scanned image displayed on the monitor prior to printing the image using a two stage process. An operator displays on a monitor a first range of colors, adjacent colors differing from each other by more than a predetermined amount, and then selects one of the displayed colors. The selection in turn causes a second range of colors centered on the selected color to be displayed, the adjacent colors of the second range differing from each other by less than the predetermined amount. The operator then selects from this second range of colors a tint which is to be the selected tint. The operator may selectively change the intensity or other property of one or both of the first and second range of colors as desired in respected predetermined steps. In the preferred embodiment, the characteristics by which each color is quantified are printing color components, cyan, magenta, yellow, and optionally black such that all colors displayed on the monitor are printable using conventional printing inks.
The ideal computer-aided color selection system should provide a general purpose, visual color selection mechanism for organizing color in a way that makes it easy to understand color elements and relationships, and which makes preliminary aesthetic determinations for subsequent review and modification by the user. For selecting reference colors in particular, a color selection system is needed that provides colorimetrically measured palettes of colors for classifications of natural objects, such as skin tones, trees, grass, and sky. In addition, there is needed a facility for mixing colors from known measured colors, approximating the artist's mixing of colors when the artist creates a color "wash", thereby making color selection and manipulation intuitively predictable and manageable even for the novice color user. Existing systems, even those based on a perceptually uniform color model, generally do not provide such assistance.
Therefore, an interactive color selection system is needed for providing increased color selection assistance to users of a wide variety of color presentation systems, in particular for the selection of reference colors which represent colors of natural objects. Moreover, it is important to have a relatively simple user interface for this color selection system so that users can apply it to the color selection tasks they are facing, without having to understand or master features of the system that are irrelevant to those tasks.